|
第九章 排序
一、填空题
1. 大多数排序算法都有两个基本的操作: 和 。
2. 在对一组记录(54,38,96,23,15,72,60,45,83)进行直接插入排序时,当把第7个记录60插入到有序表时,为寻找插入位置至少需比较 次。
3. 在插入和选择排序中,若初始数据基本正序,则选用 ;若初始数据基本反序,则选用 。
4. 在堆排序和快速排序中,若初始记录接近正序或反序,则选用 ;若初始记录基本无序,则最好选用 。
5. 设要将序列(Q, H, C, Y, P, A, M, S, R, D, F, X)中的关键码按字母序的升序重新排列,则:
冒泡排序一趟扫描的结果是 ;
初始步长为4的希尔(shell)排序一趟的结果是 ;
二路归并排序一趟扫描的结果是 ;
快速排序一趟扫描的结果是 ;
堆排序初始建堆的结果是 。
二、单项选择题
( )1. 排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为
A. 希尔排序 B. 冒泡排序 C. 插入排序 D. 选择排序
( )2.从未排序序列中挑选元素,并将其依次插入已排序序列(初始时为空)的一端的方法,称为
A. 希尔排序 B. 归并排序 C. 插入排序 D. 选择排序
( )3.对n个不同的排序码进行冒泡排序,在下列哪种情况下比较的次数最多。
A. 从小到大排列好的 B. 从大到小排列好的 C. 元素无序 D. 元素基本有序
( )4.对n个不同的排序码进行冒泡排序,在元素无序的情况下比较的次数为
A. n+1 B. n C. n-1 D. n(n-1)/2
( )5.对有n个记录的表作快速排序,在最坏情况下,算法的时间复杂度是
A. O(n) B. O(n2) C. O(nlog2n) D.O(n3)
( )6.若一组记录的排序码为(46, 79, 56, 38, 40, 84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为
A. 38, 40, 46, 56, 79, 84 B. 40, 38, 46, 79, 56, 84
C. 40, 38, 46, 56, 79, 84 D. 40, 38, 46, 84, 56, 79
( )7.下列关键字序列中, 是堆。
A. 16, 72, 31, 23, 94, 53 B. 94, 23, 31, 72, 16, 53
C. 16, 53, 23, 94, 31, 72 D. 16, 23, 53, 31, 94, 72
|
|